use study::str::format;
use study::var::basic;
use study::func::basic as func_basic;
use study::ops::logic;
use study::str::str_ref;

fn main() {
    format::macro_and_str_format();
    basic::shadow_var();
    func_basic::test();
    logic::test_logic();
    logic::test_type_cast();
    str_ref::test_str_ref();
    study::condition::test_if::test();
    study::condition::test_match::test();
    study::condition::test_loop::test();
    study::condition::test_while::test();
    study::condition::test_for::test();
    study::vec::init_vec::test();
    study::vec::access_change_vec::test();
    study::vec::iter_vec::test();
    study::structs::init_struct::test();
    study::enums::test_enum::test();
    study::generics::test_g_func::test();
    study::generics::test_g_option::test();
    study::generics::test_g_result::test();
    study::impls::test_impl::test_impl_without_traits();
    study::impls::test_impl::test_impl_traits();
    study::impls::test_impl::test_impl_static();
    study::impls::test_impl::test_trait_inherit();
    study::impls::test_dynamic_dispatch::test();
    study::refs::test_shared_ref::test();
    study::refs::test_mut_ref::test();
    study::lifetime::test::test();
    study::fileread::test::test();
    study::envs::test::test();
    // study::errs::test::test().expect("io err");
    study::combinator::test::test();
}
